Comparison of layout engines (HTML5 Media)
The HTML5 draft specification defines several tags which allow video and audio to be included natively and semantically in HTML markup. This page compares support for aspects of this specification among layout engines.
Explanation of the tables
Engine nomenclature
Rather than the names of web browsers, the names of the underlying engines are used. The browsers that use the various engines are listed below.
Layout engine |
Release version |
Preview version |
Used by |
Amaya |
11.3.1 |
11.3-pre |
Amaya |
Gecko |
6.0.2 |
8.0a2 |
All Mozilla software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; Flock (up to 2.x); Epiphany-gecko; Debian IceWeasel; GNU IceCat (formerly GNU IceWeasel); Icedove, Iceape and Iceowl; Fennec |
KHTML |
|
N/A |
Konqueror |
Presto |
2.10.229 |
2.9.168 |
Opera; Opera Mobile, Nintendo DS & DSi Browser; Internet Channel |
Prince |
7.1 |
N/A |
Prince XML |
Tasman |
(IE 5.2.3 for Mac) |
none (aborted in 2003) |
Internet Explorer 5+ for Mac OS X |
Trident |
5.0 (IE 9) |
6.0 (IE 10) |
Internet Explorer and other Internet Explorer shells like Maxthon (Microsoft Windows operating systems only), Windows Phone 7 |
WebKit |
534.20 |
r83424 |
Safari (both desktop and mobile), Google Chrome, Maxthon 3, Shiira, iCab 4, OmniWeb 5.5+, Epiphany, Adobe AIR, Midori, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+), RockMelt |
Values
Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. Version numbers without any other value indicate the version at which the layout engine first fully supported the feature.
Value |
Meaning |
Yes |
Indicates that the layout engine fully supports this property/element when valid values are used. |
No |
Indicates that the property/element is completely ignored. |
Partial |
Indicates that the property/element is understood, but that not all values are supported. Supported values are implemented correctly. |
Incorrect |
Indicates that the property/element is understood, but that it is not implemented correctly in all cases. |
Experimental |
Indicates that the property/element is understood, but supported under an alternate name. May be incomplete or buggy. |
Dropped |
Indicates that the property/element is no longer supported. |
Nightly build |
Indicates that the property/element is supported to some extent in an experimental/nightly build. Future support is expected. |
Depends |
Indicates that the property/element is supported only on certain platforms, or if certain settings are configured. |
Element attributes
Media elements allow some attributes to be set directly in the tag.
DOM attributes
Some attributes related to media elements are exposed in the DOM.
|
Trident |
Gecko[g 6] |
WebKit |
Presto[p 1] |
Error state |
MediaError |
5.0 [t 2] |
1.9.1 |
? |
2.5 |
Network state |
src |
5.0[t 1] |
1.9.1 |
? |
2.5 |
currentSrc |
networkState |
preload |
2.0[note 1][g 1] |
No |
buffered |
2.0[g 7] |
load() |
1.9.1 |
2.5 |
canPlayType() |
533[w 2] |
Ready state |
readyState |
5.0[t 1] |
1.9.1 |
? |
2.5 |
seeking |
Playback state |
currentTime |
5.0[t 1] |
1.9.1 |
? |
2.5 |
startTime |
No |
duration |
1.9.1 |
paused |
defaultPlaybackRate |
Partial[note 2] |
No |
playbackRate |
played |
No[g 8] |
seekable |
8.0[g 9] |
ended |
1.9.1 |
2.5 |
autoplay |
loop |
11.0[g 2] |
play() |
1.9.1 |
pause() |
Controls |
controls |
5.0[t 1] |
1.9.1 |
? |
2.5 |
volume |
muted |
DOM events
Media elements introduce new events to handle conditions which apply only to those elements, such as pausing/resuming.
|
Trident |
Gecko[g 10] |
WebKit |
Presto |
loadstart |
5.0[t 3] |
1.9.1 |
? |
? |
progress |
suspend |
1.9.2 |
abort |
1.9.1 |
error |
emptied |
stalled |
8.0[g 11] |
play |
1.9.1 |
pause |
loadedmetadata |
loadeddata |
waiting |
playing |
No |
canplay |
1.9.1 |
canplaythrough |
seeking |
seeked |
timeupdate |
ended |
ratechange |
durationchange |
volumechange |
Video format support
This table documents support for video codecs by the <video>
element.
Audio format support
This table documents support for audio codecs by the <audio>
element.
See also
Notes
- ^ a b c d e Supports
preload
under the older name autobuffer
.
- ^ Not supported by the Ogg backend.[g 6]
- ^ Supported if OpenCodecs is installed. Also possible with Google Chrome Frame[t 4][t 5]
- ^ a b c d e WebKit on Mac OS X uses QuickTime, and supports whatever formats that does.[w 3] By default, this includes H.264, MP3, AAC and WAV PCM, but not Ogg Theora or Vorbis. These are supported only if installed as third-party codecs, such as XiphQT. Google Chrome supports Theora, Vorbis, WebM, and MP3.[w 4] Chromium can be compiled to support anything that ffmpeg supports, and may or may not support patented formats such as H.264 and MP3.[w 5] Origyn Web Browser for MorphOS uses also FFMpeg for playing HTML5 media content.[w 6][w 7]
- ^ a b On Linux and FreeBSD, Presto 2.5 uses the system version of the GStreamer library, and is able to play any formats supported by GStreamer (including H.264, MP3, AAC and others, if codecs are installed). On other platforms, it only supports Ogg Theora for video; and Ogg Vorbis and WAVE PCM for sound.[p 2]
- ^ Google released a WebM component for Media Foundation to allow the playback of WebM files in IE9 through the standard HTML5 <video> tag.[t 7]
- ^ Possible if the user has installed a VP8 codec on Windows for IE9.[t 8]
- ^ Internet Explorer 9 will support VP8 only if the appropriate codecs are installed on the user's computer.[t 9]
References
Trident references
- ^ a b c d e f g Internet Explorer Platform Preview Guide for Developers, Microsoft, http://msdn.microsoft.com/en-us/ie/ff468705.aspx
- ^ MSDN HTMLMediaError Object for Internet Explorer 9, Microsoft, http://msdn.microsoft.com/en-us/library/gg130962(v=VS.85).aspx
- ^ , Microsoft, http://msdn.microsoft.com/en-us/library/ff975073
- ^ Kevin Carle and Chris Zacharias (2010-01-20), Introducing YouTube HTML5 Supported Videos, Official YouTube Blog, http://youtube-global.blogspot.com/2010/01/introducing-youtube-html5-supported.html, retrieved 2010-03-12
- ^ Dougherty, Brad (2010-01-21), Try our new HTML5 player!, Vimeo Staff Blog, http://vimeo.com/blog:268, retrieved 2010-03-12
- ^ McCracken, Harry (2010-03-16), Microsoft Previews the Revamped Internet Explorer 9 Platform, Technologizer, http://technologizer.com/2010/03/16/ie9-platform-preview/
- ^ Jazayeri, Mike (2011-01-14), More about the Chrome HTML Video Codec Change, Google, http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html
- ^ Hachamovitch, Dean (2010-05-19), Another Follow-up on HTML5 Video in IE9, Microsoft, http://blogs.msdn.com/ie/archive/2010/05/19/another-follow-up-on-html5-video-in-ie9.aspx
- ^ Hachamovitch, Dean (2010-05-19), Another Follow-up on HTML5 Video in IE9, Microsoft, http://blogs.msdn.com/b/ie/archive/2010/05/19/another-follow-up-on-html5-video-in-ie9.aspx
- ^ Branscombe, Mary (2010-03-16), Microsoft previews Internet Explorer 9, TechRadar UK, http://www.techradar.com/news/internet/web/microsoft-steps-towards-faster-internet-explorer-9-677263
Gecko references
- ^ a b c Bug 548523 - HTML 5 media attribute 'autobuffer' has been renamed to 'preload', Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=548523
- ^ a b c Bug 449157 - Implement the looping attributes in media elements, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=449157
- ^ Bug 449156 - Implement the poster attribute for the <video> element, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=449156
- ^ Bug 449363 - Support media attribute of <source> elements, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=449363
- ^ Bug 515898 - implement UI for subtitles on html5 video/audio, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=515898
- ^ a b nsIDOMHTMLMediaElement, Mozilla, https://developer.mozilla.org/En/NsIDOMHTMLMediaElement
- ^ Bug 462957 - Implement nsIDOMHTMLMediaElement::GetBuffered(), Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=462957
- ^ Bug 462959 - Implement nsIDOMHTMLMediaElement::GetPlayed(), Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=462959
- ^ Bug 462960 - Implement nsIDOMHTMLMediaElement::GetSeekable(), Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=462960
- ^ Using audio and video in Firefox - Media events, Mozilla, https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox#Media_events
- ^ Bug 481082 - Video controls should listen for |stalled| event, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=481082
- ^ a b Shepherd, Eric (2010-01-28), Media formats supported by the audio and video elements, Mozilla, https://developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements, retrieved 2009-10-11
- ^ Bug 541286 - MPEG2 and MPEG4/H264 support for HTML5 <video>, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=541286
- ^ Bug 566243 - Merge mozilla-webmedia repository to mozilla-central, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=566243
- ^ Firefox WebM Builds, Mozilla, http://nightly.mozilla.org/webm/
- ^ Bug 562730 - Reproducing Mp3 files with html5, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=562730
- ^ Bug 476752 - support the speex voice codec in <audio> and <video> elements, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=476752
WebKit references
- ^ Pfeiffer, Silvia (2009-12-13), [whatwg] Quality Values for Media Source Elements, http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2009-December/024519.html
- ^ Bug 24364 - Add HTMLMediaElement canPlayType method, WebKit, https://bugs.webkit.org/show_bug.cgi?id=24364
- ^ Koivisto, Antti (2007-11-12), HTML5 Media Support, WebKit, http://webkit.org/blog/140/html5-media-support/
- ^ Look for "GOOGLE_CHROME_BUILD", http://src.chromium.org/viewvc/chrome/trunk/src/net/base/mime_util.cc?view=markup#vc_markup
- ^ DiBona, Chris (2009-06-01), [whatwg] Google's use of FFmpeg in Chromium and Chrome Was: Re: MPEG-1 subset proposal for HTML5 video codec, Google, http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2009-June/020035.html
- ^ Origyn Web Browser for MorphOS, Fabian Coeurjoly, http://fabportnawak.free.fr/owb/, retrieved 2010-01-04
- ^ Holwerda, Thom (2010-03-08), Origyn Web Browser 1.7 Supports HTML5 Media, More, OSNews, http://www.osnews.com/story/22971/Origyn_Web_Browser_1_7_Supports_HTML5_Media_More, retrieved 2010-03-08
- ^ HTML Video Codec Support in Chrome, http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html, retrieved 2010-01-22
- ^ Bankoski, Jim (2010-05-19), WebM and VP8 land in Chromium, Google, http://blog.chromium.org/2010/05/webm-and-vp8-land-in-chromium.html
Presto references
- ^ Pieters, Simon (2010-03-10), Everything you need to know about HTML5 video and audio, Opera, http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/
- ^ Jägenstedt, Philip (2009-12-31), (re-)Introducing <video>, Opera, http://my.opera.com/core/blog/2009/12/31/re-introducing-video
- ^ Lie, Håkon Wium (2010-05-19), Welcome, WebM <video>!, Opera, http://labs.opera.com/news/2010/05/19/
- ^ Mills, Chris (2010-05-19), Opera supports the WebM video format, Opera, http://dev.opera.com/articles/view/opera-supports-webm-video/
- ^ Kleinhout, Huib (2010-07-01), Opera 10.60 goes final, Opera, http://my.opera.com/desktopteam/blog/2010/07/01/opera-10-60-goes-final
External links